package com.ksyun.seckill.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ksyun.seckill.constant.Constant;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;


/**
 * @author ksc
 */
@Data
public class SimpleCampaignVO {


    /**
     * 混淆后Id.
     */
    private String id;

    /**
     * 名称.
     */
    private String name;

    /**
     * 描述.
     */
    private String descr;

    /**
     * logo地址.
     */
    private String imgUrl;

    /**
     * 计划库存数.
     */
    private Long planInventory;

    /**
     * 当前库存数.
     */
    private Long currentInventory;

    /**
     * 开始时间.
     */
    @JsonFormat(pattern = Constant.COMMON_DATE_AND_TIME, timezone = "GMT+8")
    private LocalDateTime beginTime;

    /**
     * 结束时间.
     */
    @JsonFormat(pattern = Constant.COMMON_DATE_AND_TIME, timezone = "GMT+8")
    private LocalDateTime endTime;

    /**
     * 活动倒计时，单位：秒.
     *
     * 活动未上线，已经结束时：
     * -1
     *
     * 库存为0时:
     * -1
     *
     * 当前时间大于活动结束时间:
     * -1
     *
     *
     * 活动已开始时：
     * (endAt - now) / 1000
     *
     *
     * 活动已上线，未开始时：
     * (startAt - now) / 1000
     *
     */
    private Long remainSeconds;

    /**
     * 前端可读的友好状态描述.
     *
     * 活动为INIT、OFFLINE、DELETED: 未上线

     * 活动已上线(ONLINE): 已上线
     *
     * 活动已结束(FINISH)：已结束
     *
     * 当前时间大于活动结束时间: 已结束
     *
     * 库存小于等0: 已结束
     * 当前时间小于开始 时间:未开始
     *
     */
    private String prettyStatusName;



}